/**
 * @filename:OtherInService Dec 21, 2023
 * @project Wonder Vue Admin Api  1.1.0
 * Copyright(c) 2022 Wonder Co. Ltd. 
 * All right reserved. 
 */
package com.wonder.app.service;
import cn.hutool.json.JSONObject;
import com.vtuzx.core.bean.dto.VtuzxMap;
import com.wonder.app.domain.OtherIn;
import com.wonder.app.domain.OtherInDetail;
import com.wonder.app.request.OtherInRequest;
import com.wonder.common.common.AjaxResult;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;
/**   
 * @Description:TODO(其他入库服务层)
 * @version: 1.1.0
 * @author: Wonder
 * 
 */
public interface OtherInService extends IService<OtherIn> {

    
    /**
     * 验证其他入库信息
     * 
     * @param otherIn
     * @param type
     * @return 结果
     */
    public String validate(OtherIn otherIn,String type);   
   
	
	 /**
	 * Description:其他入库分页返回
	 * @param request//检索条件
	 * @param page//分页参数
	 * @return IPage<OtherIn>   //分页记录
	 */
    public IPage<OtherIn> selectList(OtherInRequest request, Page<OtherIn> page);


	/**
	 * 获取其他入库详情
	 * @param id
	 * @return
	 */
 	VtuzxMap getDetailById(Long id);

	/**
	 * 反审其他入库单
	 * @param user_id
	 * @param userName
	 * @param id
	 * @return
	 */
	boolean unAuditOtherIn(Long user_id, String userName, Long id);

	/**
	 * 审核其他入库
	 * @param user_id
	 * @param userName
	 * @param id
	 * @return
	 */
	boolean auditOtherIn(Long user_id, String userName, Long id);

	/**
	 * 保存其他入库
	 * @param userName
	 * @param header
	 * @param dataList
	 * @return
	 */

	boolean saveOther(String userName, Map<String, Object> header, List<Map<String, Object>> dataList);

	/**
	 * 创建其他入库单(pad)
	 * @param map
	 * @return
	 */
    Boolean saveOtherInPad(JSONObject map);
}
